<!--  -->
<template>
    <div>
        <div class="crumbs">
            <el-breadcrumb separator="/">
                <el-breadcrumb-item>
                    <i class="el-icon-lx-cascades"></i>
                    {{pageTitle}}
                </el-breadcrumb-item>
            </el-breadcrumb>
        </div>
        <acc-set-card></acc-set-card>
        <div class="container" :style="{'min-height': containerHeight + 'px'}">
            <div class="handle-box flex flex-center">
                <el-button type="primary" icon="el-icon-folder" @click="saveEdit()">关闭</el-button>
            </div>
            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px">
                <el-row>
                    <el-col :sm="20" :md="10">
                        <el-form-item label="凭证号">
                            {{ruleForm.vochNum}}
                        </el-form-item>
                    </el-col>
                    <el-col :sm="20" :md="5">
                        <el-form-item prop="orderRuleName" label="单别">
                            {{ruleForm.orderRuleName}}
                        </el-form-item>
                    </el-col>
                    
                    <el-col :sm="20" :md="5">
                        <el-form-item label="附件数" prop="docNums">
                            {{ruleForm.docNums}}
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :sm="20" :md="5">
                        <el-form-item label="凭证日期">
                            {{ruleForm.vnDate}}
                        </el-form-item>
                    </el-col>
                    <el-col :sm="20" :md="5">
                        <el-form-item label="会计期间" prop="period">
                            {{ruleForm.period}}
                        </el-form-item>
                    </el-col>
                    <el-col :sm="20" :md="10">
                        <el-form-item label="备注">
                            {{ruleForm.remark}}
                        </el-form-item>
                    </el-col>
                </el-row>
            </el-form>
            <div style="margin-top:10px;border:1px solid">
                <div style="margin:10px;">
                    <vxe-table
                        keep-source
                        stripe
                        border
                        show-footer
                        :footer-method="footerMethod"
                        resizable
                        ref="xTable"
                        :data="tableData"
                    >
                        <vxe-table-column type="seq" width="60"></vxe-table-column>
                        <vxe-table-column
                            field="remark"
                            title="摘要说明"
                        ></vxe-table-column>
                        <vxe-table-column
                            field="subCode"
                            title="科目"
                        ></vxe-table-column>
                        <vxe-table-column
                            field="subName"
                            title="科目名称"
                        ></vxe-table-column>

                            <vxe-table-column
                            field="debitAmt"
                            title="本币借方"
                        ></vxe-table-column>
                            <vxe-table-column
                            field="crebitAmt"
                            title="本币贷方"
                        ></vxe-table-column>
                            <vxe-table-column
                            field="debitAmtOc"
                            title="原币借方"
                        ></vxe-table-column>
                            <vxe-table-column
                            field="crebitAmtOc"
                            title="原币贷方"
                        ></vxe-table-column>
                            <vxe-table-column
                            field="currId"
                            title="币别"
                        ></vxe-table-column>

                        <vxe-table-column
                            field="rate"
                            title="汇率"
                        ></vxe-table-column>
                        <vxe-table-column
                            field="empName"
                            title="人员"
                        ></vxe-table-column>
                        <vxe-table-column
                            field="deptName"
                            title="部门"
                        ></vxe-table-column>
                        <vxe-table-column
                            field="tranName"
                            title="往来"
                        ></vxe-table-column>
                        <vxe-table-column
                            field="proName"
                            title="项目"
                        ></vxe-table-column>

                        
                    </vxe-table>
                </div>
            </div> 
        </div>
    </div>
</template>

<script>
import appMain from '../../../utils/app_main.js';
import bus from '../../../components/common/bus'
import XEUtils from 'xe-utils';
var _ = require('lodash');
let moneyReg = /^(([1-9]{1}\d*)|(0{1}))(\.\d{2})$/;
export default {
    data() {
        return {
            pageTitle: '',
            containerHeight: '',
            editVisible: false,
            billSearchDialogTit: '', // 单别
            showBillSearch: false, 
            searchDialogTitSub: '', // 科目
            showSearchSub: false,
            searchDialogTit: '', // 人员搜索
            showSearch: false,
            customerSearchDialogTit: '', // 往来人员
            showCustomerSearch: false,

            isUpdate: false, //是否是更新
            currentRow: '',
            ruleForm: {
                vochNum: '', // 凭证单号:xxxxxxaaaa-200400001,6位公司id+4位单别-年月5位流水
                docNums: '', // 附件张数	默认0可以手工输入	
                orderNoCode: '', // 单别代码	
                orderNoId: '', // 单别id	
                orderRuleName: '',
                period: '', // 会计期间	模拟账套中当前会计期间，可以手工修改	
                remark: '', // 备注	
                vnDate: '', // 凭证日期	系统日期，可以调整
            },
            rules: {
                orderNoCode: { required: true,message: '请选择单别', trigger: 'change'},
                period: { required: true,message: '请选会计期间', trigger: 'change'},
            },
            
            validRules: {
                subId: [{ required: true, message: '计划日期必须填写' }],
                // points: [
                //     { required: true, message: '计划金额必须填写' },
                //     { pattern: '^(0|[1-9][0-9]*)$', message: '格式不正确' }
                // ],
                subName: [
                    { min: 2, max: 300, message: '长度在 2 到 300 个字符' }
                ]
            },
            tableData: [],

            periodList: [], // 会计期间列表
            departList: [], // 部门列表
            currList: [], // 币别列表
            //新增,在编辑的明细行
            editRow: '',
            canUseCurrList: false, // 能不能点击币别
        };
    },
    methods: {
      
        closeDialog (data) {
            this.showBillSearch = false
        },
        close() {
            this.$emit('close', {
                showDialog: false
            });
        },
         //初始化table
        resetTableData() {
            const length = this.tableData.length;
            if (length < 10) {
                for (let index = 10; index > length; index--) {
                    let record = {
                        crebitAmt: '', // 本币贷方金额	
                        crebitAmtOc: '', // 原币贷方金额	
                        currFlag: '', // 是否核算外币:0否，1是	
                        currId: '', // 币别	
                        dealFlag: '', // 是否核算来往单位：0否 ，1是	
                        debitAmt: '', // 本币借方金额	
                        debitAmtOc: '', // 原币币借方金额	
                        deptFlag: '', // 是否核算部门：0否，1是	
                        deptId: '', // 部门代码	
                        deptName: '', // 部门名称	
                        subName: '', // 科目名称		
                        drFlag: '', // 借贷方向	1、借 2、贷	
                        empFlag: '', // 是否核算人员:0否，1是	
                        empId: '', // 人员代码	
                        empName: '', // 人员姓名	
                        proFlag: '', // 是否核算项目：0否，1是	
                        proId: '', // 项目id	
                        proName	: '', // 项目名称	
                        rate: '', // 汇率	
                        remark: '', // 摘要	
                        setBookId: '', // 账套号	
                        snNo: '', // 单据项次	1 ~9999 用字符排序有效性	
                        subId: '', // 会计科目代码	
                        tranId: '', // 来往单位代码	
                        tranName: '', // 来往单位名称	
                        vochNum: '', // 凭证单号	xxxxxaaaa-200400001:6位公司id+4位单别-年月5位流水	
                        vochNumDetail: '', // 明细凭证单号	
                    };
                    this.tableData.push(record);
                }
            }
            console.log('resetTableData', this.tableData);
        },
        /**
          * vxe-table  start
          * 
          */
        async insertEvent(row) {
            let record = {
                crebitAmt: '', // 本币贷方金额	
                crebitAmtOc: '', // 原币贷方金额	
                currFlag: '', // 是否核算外币:0否，1是	
                currId: '', // 币别	
                dealFlag: '', // 是否核算来往单位：0否 ，1是	
                debitAmt: '', // 本币借方金额	
                debitAmtOc: '', // 原币币借方金额	
                deptFlag: '', // 是否核算部门：0否，1是	
                deptId: '', // 部门代码	
                deptName: '', // 部门名称	
                subName: '', // 科目名称		
                drFlag: '', // 借贷方向	1、借 2、贷	
                empFlag: '', // 是否核算人员:0否，1是	
                empId: '', // 人员代码	
                empName: '', // 人员姓名	
                proFlag: '', // 是否核算项目：0否，1是	
                proId: '', // 项目id	
                proName	: '', // 项目名称	
                rate: '', // 汇率	
                remark: '', // 摘要	
                setBookId: '', // 账套号	
                snNo: '', // 单据项次	1 ~9999 用字符排序有效性	
                subId: '', // 会计科目代码	
                tranId: '', // 来往单位代码	
                tranName: '', // 来往单位名称	
                vochNum: '', // 凭证单号	xxxxxaaaa-200400001:6位公司id+4位单别-年月5位流水	
                vochNumDetail: '', // 明细凭证单号	
            };
            let { row: newRow } = await this.$refs.xTable.insertAt(record, row);
            //await this.$refs.xTable.setActiveCell(newRow, 'sex');
            console.log('insertEvent', this.tableData);
        },
   
        //表脚
        footerMethod({ columns, data }) {
            return [
                columns.map((column, columnIndex) => {
                    if (columnIndex === 0) {
                        return '合计';
                    }
                    if (columnIndex === 4) {
                        //console.log('columns', data);
                        let coin = `${XEUtils.sum(data, 'debitAmt')}`;
                        // this.ruleForm.total = coin;
                        return coin + ' 元';
                    }
                    if (columnIndex === 5) {
                        //console.log('columns', data);
                        let coin = `${XEUtils.sum(data, 'crebitAmt')}`;
                        // this.ruleForm.total = coin;
                        return coin + ' 元';
                    }
                    return '-';
                })
            ];
        },
        /**
         * vxe-table end
         */
        // 根据id查找凭证
        bkpfInfoFindById(id) {
            appMain
                .bkpfInfoFindById({}, id)
                .then(res => {
                    if (res.data.code === 20000) {
                        res.data.data.bkpfInfo.vnDate = appMain.formatDate(res.data.data.bkpfInfo.vnDate, 'yyyy-mm-dd');
                        this.ruleForm = res.data.data.bkpfInfo;
                        this.tableData = res.data.data.bkpfInfoList;
                    } else {
                        this.$message.error('服务器繁忙，请稍后再试');
                    }
                })
                .catch(err => {
                    console.log(err);
                });
        },
        saveEdit() {
            bus.$emit('close_current_tags')
        }
    },
    watch: {
    },
    computed: {
        aNum() {
            return 123;
        }
    },
    mounted() {
        var div_height = window.screen.availHeight;
        var height = div_height - 100;
        this.containerHeight = height - 160;
        this.pageTitle = this.$router.currentRoute.meta.title;
    },
    created() {
        //如果有id过来就是修改的
        if (this.$route.query.id) {
            let id = this.$route.query.id;
            this.ruleForm.vochNum = id
            //通过id查询对应离职信息
            this.bkpfInfoFindById(id);
        } else {
           
        }

    }
};
</script>

<style lang="css" scoped>
.container {
    padding-bottom: 50px;
}
.handle-box {
    padding: 5px 50px;
    width: 100%;
    background-color: #fff;
    position: absolute;
    left: 0;
    bottom: 0px;
    border-bottom: 1px solid #ddd;
    border-top: 1px solid #ddd;
    z-index: 1;
}
.table-form-box{
    padding-bottom: 100px;
}
.table-form-box table {
    background-color: #666;
}
.table-form-box .h3 {
    font-size: 22px;
    text-align: center;
    font-weight: normal;
    padding: 20px 0;
}
.table-form-box table .tr-title td {
    font-size: 14px;
    line-height: 40px;
}
.table-form-box table td,
.table-form-box table th {
    background-color: #fff;
    padding: 4px;
    min-height: 40px;
    font-size: 12px;
}
.color-ff2200 {
    color: #ff2200;
}

</style>